Detection method for lattice reduction-aided mimo system receiver and iterative noise cancellation

ABSTRACT

A detection method for a MIMO system receiver in which a linear detection is carried out in order to provide an equalised vector. This equalised vector is represented in a reduced basis obtained from the reduction of the channel matrix. It undergoes an iterative noise cancellation process in the representation according to the reduced basis. Upon each iteration, a search is carried out for the component of the equalised vector in the reduced basis located the furthest from an area unperturbed by noise surrounding the product constellation with a tolerance margin, and the point representative of the equalised vector of this area by subtracting therefrom a noise vector in the direction of this component, the module whereof is equal to a fraction of the tolerance margin. The iterative cancellation converges when the equalised vector belongs to the area unperturbed by noise.

TECHNICAL FIELD

The present invention relates to the field of multi-antenna telecommunication systems also referred to as MIMO (Multiple Input Multiple Output) systems and more particularly those using lattice reduction-aided MIMO detection.

PRIOR ART

Multi-antenna telecommunication systems or MIMO (Multiple Input Multiple Output) systems are well known in the prior art and were first implemented, about ten years ago, in several wireless telecommunication system standards (for example IEEE 802.11n). These systems have, as a result of the multiplexing capacity thereof and the spatial diversity thereof, channel capacities that are substantially greater than the conventional single-antenna systems or SISO (Single Input Single Output) systems.

A MIMO transmission system with N_(T) transmit antennas and N_(R) receive antennas is characterised by the channel matrix H thereof, of size N_(R)×N_(T) the elements whereof are complex attenuation coefficients of the basic channels between the N_(T) transmit antennas and N_(R) receive antennas.

FIG. 1 diagrammatically shows such a MIMO system. An element h_(ik) of the matrix H gives the basic channel coefficient between the transmit antenna of index k and the receive antenna of index 1.

The transmission of a block of symbols in such a system can be modelled by:

y=Hs+n  (1)

where s is the vector of the symbols respectively transmitted by the N_(T) transmit antennas, y is a vector of size N_(R) representing the signals respectively received by the N_(R) receive antennas, and n is a white noise vector of size N_(R), the components whereof are independent centred random Gaussian variables with the same variance σ_(n) ². The channel matrix H is assumed to be known by the receiver, for example by means of a channel estimation from pilot symbols.

The symbols transmitted belong to a modulation alphabet, denoted A, for example a M-QAM alphabet.

It is assumed hereinbelow that the number of receive antennas is greater than or equal to the number of transmit antennas, i.e. N_(R)≥N_(T).

Since the elements of the vectors and of the matrix involved in the relation (1) are complex values, the real and imaginary parts thereof are processed separately. In other words, if y, s and n are the real vectors respectively of size n_(R)×n_(T) and n_(R) where n_(R)=2N_(R) and n_(T)=2N_(T) defined by:

$\begin{matrix} {{\overset{¯}{y} = \begin{pmatrix} {(y)} \\ {(y)} \end{pmatrix}};{\overset{¯}{s} = \left( {\begin{matrix} {(s)} \\ {(s)} \end{matrix}} \right)};{\overset{¯}{n} = \begin{pmatrix} {(n)} \\ {(n)} \end{pmatrix}}} & (2) \end{matrix}$

and the channel matrix H is a real matrix of size n_(R)×n_(T) defined by:

$\begin{matrix} {\overset{¯}{H} = \begin{pmatrix} {(H)} & {- (H)} \\  & {(H)} \end{pmatrix}} & (3) \end{matrix}$

the relation (1) remains valid in a real form:

y=H s+n   (4)

Different detection types can be provided for during receipt.

Optimal detection uses a criterion of maximum likelihood or ML, consisting of searching all possible transmitted symbol vectors for that which minimises the Euclidean distance to the received vector, in other words:

$\begin{matrix} {{\overset{\hat{}}{s}}_{ML} = {\underset{s \in A^{N_{T}}}{argmin}\left( {{y - {Hs}}} \right)}} & (5) \end{matrix}$

However, this search has a complexity in M^(n) ^(T) and thus cannot be carried out in practice for high modulation orders and a large number of transmit antennas.

In practice, sub-optimal detection methods are implemented, referred to as linear methods, allowing the different symbols to be separated by means of linear combinations. More specifically, referring back to the complex formulation of the relation (1), the vector of the transmitted symbols is estimated by multiplying the vector of the received signals by a detection matrix (also referred to as an equalisation matrix) W of size n_(T)×n_(R):

r=Wy=WHs+Wn  (6)

where the detection matrix can take different forms as a function of the selected detection type: ZF (Zero Forcing), MMSE (Minimum Square Error), or MRC (Maximum Ratio Combining) also referred to as MF (Matched Filter), i.e.:

W _(ZF) =H ^(†)=(H ^(H) H)⁻¹ H ^(H)  (7-1)

W _(MMSE)=(H ^(H) H+σ _(n) ² I _(N) _(R) )⁻¹ H ^(H)  (7-2)

W _(MF) =H ^(H)  (7-3)

The respective advantages and drawbacks of these different detection types are known: thus, a ZF-type detection can considerably amplify the noise components and a MMSE-type detection, although reducing this amplification, requires the signal-to-noise ratio to be estimated and is thus more complex.

The transmitted symbols are then estimated by making a hard or soft decision (dec) on the components of the equalised vector, r:

ŝ _(ZF) =dec(W _(ZF) y)  (8-1)

ŝ _(MMSE) =dec(W _(MMSE) y)  (8-2)

ŝ _(MF) =dec(W _(MF) y)  (8-3)

For example, in the case of a hard decision, for each component of the equalised vector, the element of the alphabet, i.e. the point of the modulation constellation located the closest to this component, is sought.

Although a linear detector (LD) is relatively simple, the performance levels thereof depend on the conditioning of the matrix H and more specifically on the extent to which it deviates from orthogonality. More specifically, if the specific values of the matrix H^(H)H are low, the noise components (Wn in expression (3)) are amplified and the error rate (BER) is high.

In order to overcome this difficulty, lattice reduction-aided linear detection has been proposed, as described in the article by D. Wübben entitled “Near-maximum likelihood detection of MIMO systems using MMSE-based lattice reduction” published in Proc. IEEE International Conference on Communications, vol. 2, June 2004, pp. 798-802.

It should first of all be remembered that a lattice Λ in

^(n) is defined as being the set of linear combinations having integer coefficients of a plurality of vectors forming a basis V of

^(n), in other words:

Λ = { ∑ i = 1 n  a i  v i | a i ∈ n } ( 9 )

The generator basis V of the lattice is shown by the matrix V=(v₁|v₂| . . . |v_(n)) in the canonical basis of

^(n), in other words the matrix V is the matrix, the column vectors whereof are the vectors of the basis V.

The same lattice Λ can be generated by different bases. Thus, if V is a generator basis of the lattice, represented by the matrix V and if T is a uninodular matrix (in other words an integer coefficient matrix, the absolute value of the determinant whereof is equal to 1), the columns of the matrix V′ defined by:

V′=VT  (10)

produce the same lattice Λ.

The reduction of a lattice A consists of finding a generator basis of this lattice formed by vectors of a shortest length and the closest to orthogonality.

The extent to which the basis V deviates from orthogonality is given by the indicator:

$\begin{matrix} {{{od}(V)} = \frac{\prod\limits_{i = 1}^{n}{v_{i}}}{{vol}(\Lambda)}} & (11) \end{matrix}$

where vol(Λ)=|det(V)|, referred to as the volume of the lattice, only depends on Λ where det(V) is the determinant of the matrix V. It should be noted that the orthogonality indicator is always greater than or equal to 1, whereby equality corresponds to the case of an orthogonal basis.

The reduction of the lattice can be tackled by means of the LLL (Lenstra-Lenstra-Lovász) algorithm. A basis of the LLL-reduced lattice {tilde over (V)} of parameter δ of the lattice is obtained from a decomposition QR of the matrix V. This basis is given by the column vectors of the matrix {tilde over (V)}={tilde over (Q)}{tilde over (R)} satisfying:

|{tilde over (r)} _(l,k)|≤1/2|{tilde over (r)} _(l,l)| pour 1≤l≤k≤n  (12-1)

δ{tilde over (r)} _(k−1,k−1) ² ≤{tilde over (r)} _(k,k) ² +{tilde over (r)} _(k−1,k) ² pour 1<k≤n  (12-2)

The parameter δ gives the quality of the basis {tilde over (V)}, the approximation is increasingly precise as the value δ nears 1.

The points of a modulation constellation M-QAM can be considered, to the nearest common translation and multiplication factor, as being elements of

². Thus, the real vector s∈

^(n) ^(T) and the real vector H s is an element of the lattice Λ_(H) produced by the column vectors of H in the space

^(n) ^(T) . The vector y is thus a point of

^(n) ^(-T) resulting from the sum of a vector of the lattice Λ_(H) and of a noise vector.

The reduction of the lattice and in particular the LLL reduction thereof allows a basis of this lattice to be obtained, constituted by short vectors close to the orthogonality condition. If {tilde over (H)} is the matrix of the channel represented in this new basis, the following is given:

{tilde over (H)}=HT  (13)

where T is a unimodular matrix of size n_(T)×n_(T). The set of column vectors of T is referred to as a reduced basis.

The relation (4) can thus be re-written in the form:

y=HT(T ⁻¹ s )+ n={tilde over (H)}z+n   (14)

where z=T⁻¹ s represents the received signal in the reduced basis and the matrix {tilde over (H)} is better conditioned than the matrix H. It is important to understand that the point {tilde over (H)}z is identical to the point H s of the lattice Λ_(II).

If a linear detection is carried out during receipt, the following is obtained in the real domain:

r=W y=W{tilde over (H)}z+W n   (15)

with

$\overset{¯}{r} = {{\begin{pmatrix} {(r)} \\ {(r)} \end{pmatrix}\mspace{14mu} {and}\mspace{14mu} \overset{\_}{W}} = \begin{pmatrix} {\left( \overset{\sim}{W} \right)} & {- \left( \overset{\sim}{W} \right)} \\ {\left( \overset{\sim}{W} \right)} & {\left( \overset{\sim}{W} \right)} \end{pmatrix}}$

where the linear detection matrix is obtained in this case from {tilde over (H)}:

{tilde over (W)} _(ZF) ={tilde over (H)} ^(†)=({tilde over (H)} ^(H) {tilde over (H)})⁻¹ {tilde over (H)} ^(H)  (15-1)

{tilde over (W)} _(MMSE)=({tilde over (H)} ^(H) {tilde over (H)}+σ _(n) ² I _(N) _(R) )⁻¹ {tilde over (H)} ^(H)  (15-2)

{tilde over (W)} _(MF) ={tilde over (H)} ^(H)  (15-3)

For notation simplicity purposes, the superscript lines will be left out for real matrices and vectors. Thus, the relation (15) is written in simplified form as:

r={tilde over (W)}y={tilde over (W)}{tilde over (H)}z+{tilde over (W)}n  (16)

A person skilled in the art will however understand that the vectors and matrices appearing in the equation (16) have real values and that the dimensions thereof are double those appearing in the equation (6).

A first lattice reduction-aided linear detection or LR-LD method is described in the aforementioned article. It consists of quantising each component

, i=1, . . . ,n_(T) of z on the ith vector of the reduced basis. The quantisation of the component

is carried out by searching for the point belonging to the projection of the product constellation A^(N) ^(T) on the ith vector. In other words, in each of the directions indicated by a vector of the reduced basis, the point of the projection of the constellation A^(N) ^(T) in this direction that is the closest to the component of z on this vector is sought.

A second lattice reduction-aided linear detection method, also described in the aforementioned article, referred to as LR-LD-SIC (Lattice Reduced Linear Detection with Successive Interference Cancellation) consists of carrying out a QR decomposition of the channel matrix {tilde over (H)} (where Q, R are respectively an orthogonal matrix and an upper triangular matrix) then of detecting the components of z, beginning with the component

without interference from the other components (as a result of the upper triangular structure of R). The columns of {tilde over (H)} can be permuted (which is equivalent to a permutation of the transmit antennas) so that the signal-to-noise ratio of the component

is as high as possible. In other words, for each permutation of the columns of {tilde over (H)}, a QR decomposition is carried out and the permutation resulting in the highest coefficient r_(n) _(T) _(n) _(T) is selected.

The LR-LD method has the drawback of operating a sub-optimal truncation insofar as according to the order in which the components of z are truncated, the performance levels in terms of BER can be very different for the same signal-to-noise ratio (SNR) value.

The LR-LD-SIC method has high performance levels when the linear detection is of the MMSE type, however it requires a large quantity of computations, in particular for MIMO configurations having a large number of antennas, which is hardly compatible with the computing capacity of a mobile terminal.

Moreover, neither the LR-LD method nor the LR-LD-SD method are able to provide soft outputs, such as those required for soft input channel decoding when a turbo code, a convolutional code or an LDPC code is used for transmission.

One purpose of the present invention is thus to propose a detection method for a lattice reduction-aided MIMO system receiver, which has good performance levels in terms of error rate as a function of the signal-to-noise ratio, without requiring significant computations. One subsidiary purpose of the present invention is to propose such á lattice reduction-aided MIMO detection method that is furthermore capable of providing a detection result in the form of soft values.

DESCRIPTION OF THE INVENTION

The present invention is defined by a detection method for a MIMO system receiver with N_(T) transmit antennas and N_(R) receive antennas, characterised by a channel matrix H, each transmit antenna transmitting a symbol belonging to a modulation constellation, the vector of the transmitted symbols belonging to a product constellation in the space

^(2N) ^(T) , the channel matrix H undergoing a LLL reduction in order to provide a reduced channel matrix {tilde over (H)}, such that {tilde over (H)}=HT where T is a unimodular matrix, the vector of the signals received by the receive antennas being equalised by means of a linear detection matrix {tilde over (W)}, obtained from the reduced channel matrix {tilde over (H)}, in order to provide an equalised vector r, in a reduced basis formed by the column vectors of the matrix T, the equalised vector being represented by c=Tr in a reduced basis formed by the column vectors of the matrix T, wherein a receive area unperturbed by noise Z_(ε) is defined, in the representation according to the reduced basis, which area surrounds the product constellation with a predetermined tolerance margin ε, the equalised vector then undergoing an iterative noise cancellation process wherein, upon each iteration, a search is carried out for the component (

) of the equalised vector in the reduced basis, that is located the furthest from the receive area unperturbed by noise, and a noise vector is subtracted from the equalised vector c, the module of which noise vector is a fraction of the tolerance margin and the direction is that of the component thus determined, the process being iterated until the point representative of the equalised vector is located within said receive area unperturbed by noise or until a predetermined number of iterations is reached, the result of the detection being obtained by making a hard or soft decision on the equalised vector at the end of the iterative process.

The linear detection matrix is in particular selected from the ZF, MMSE or MF detection matrices respectively defined by:

{tilde over (W)} _(ZF) ={tilde over (H)} ^(†)=({tilde over (H)} ^(H) {tilde over (H)})⁻¹ {tilde over (H)} ^(H)

{tilde over (W)} _(MMSE)=({tilde over (H)} ^(H) {tilde over (H)}+σ _(n) ² I _(N) _(R) )⁻¹ {tilde over (H)} ^(H)

{tilde over (W)} _(MF) ={tilde over (H)} ^(H)

where σ_(n) ² is the variance of the noise affecting the signal received by a receive antenna and I_(N) _(R) is the identity matrix of size N_(R).

The modulation constellations relative to the different transmit antennas are typically QAM constellations. The modulation constellations relative to the different antennas are advantageously selected such that they are identical.

Advantageously, in order to determine the component of the equalised vector in the reduced basis, that is located the furthest from the area unperturbed by noise, the index

is sought such that

$ = {\underset{i}{{\arg \mspace{11mu} \max}\mspace{11mu}}\left( {c_{i} - s_{\max} - {ɛ\text{/}v_{i}}} \right)}$

where c_(i) is the i^(th) component of the equalised vector c, s_(max) is the maximum amplitude of the QAM constellation, and

$v_{i} = {\max\limits_{j \neq i}\left( {{\langle\left. t_{i} \middle| t_{j} \right.\rangle}} \right)}$

where t, is the i^(th) column vector of T.

The noise vector subtracted from the equalised vector c can be determined by

$a_{}{{{sgn}\left( c_{} \right)} \cdot \mu \cdot \left( \frac{ɛ}{v_{}} \right)}$

where a

is the

-th column of the matrix A, where A is the Gram matrix of the reduced basis A=TT^(T), sgn(

) is the sign of the

-th component of the equalised vector c and μ is the value of said fraction. In particular, μ=1/2 could be selected.

According to a first alternative embodiment, a hard decision is made on the equalised vector at the end of the iterative process, by searching for the point of the product constellation that is located the closest to this vector.

According to a second alternative embodiment, prior to the iterative process, the variances σ_(n,m) ², of the noise affecting each of the components of the equalised vector c are initialised by

$\sigma_{n,m}^{2} = {\left( {{\sigma_{n}^{2}{\sum\limits_{i = 1}^{N_{T}}{{\overset{\sim}{W}}_{m,i}}^{2}}} + {\sigma_{a}^{2}{\underset{j \neq m}{\sum\limits_{j = 1}^{N_{T}}}{{\overset{\sim}{\beta}}_{m,j}}^{2}}}} \right)/{{\overset{\sim}{\beta}}_{m,m}}^{2}}$

where σ_(n) ² is the variance of the noise affecting the signal received by a receive antenna, σ_(a) ² is the average power of the modulation constellation, {tilde over (W)}_(m,i) is the element of the matrix {tilde over (W)} in the row m and in the column i, {tilde over (β)}_(m,j) is the element of the matrix β={tilde over (W)}H in the row m and in the column j and that at each iteration, these variances are then updated by

$\sigma_{n,m}^{2} = {\sigma_{n,m}^{2} + {{\mu^{2}\left( \frac{ɛ}{v_{}} \right)}^{2}{\Lambda_{m,}}^{2}}}$

where

is the element in the row in and in the column

of the Gram matrix A.

In the latter case, for each symbol transmitted by a transmit antenna in, the soft values of the different bits b_(m,q) can be computed, where b_(m,q) is the q^(éme) bit of the word having been used to generate the transmitted symbol s_(m), the soft values being given by

${L\left( b_{m,q} \right)} = {\frac{1}{2\sigma_{n,m}^{2}}\left( {\min\limits_{u \in S_{m,q}^{1}}\left( {{{c - u}}^{2} - {\min\limits_{u \in S_{m,q}^{0}}\left( {{c - u}}^{2} \right)}} \right)} \right)}$

where σ_(n,m) ² is the value of the variance affecting the m-th component of the equalised vector c at the end of the iterative process, S_(m,q) ⁰ is the set of points of the product constellation, assuming b_(m,q)=0 and S_(m,q) ¹ is the set of points of the product constellation, assuming b_(m,q)=1.

BRIEF DESCRIPTION OF THE FIGURES

Other features and advantages of the invention will appear upon reading one preferred embodiment of the invention, described with reference to the accompanying figures, in which:

FIG. 1 diagrammatically shows a known MIMO system of the prior art;

FIG. 2 diagrammatically shows a flow chart of a lattice reduction-aided linear detection and successive noise reduction method according to a first embodiment of the invention;

FIG. 3 diagrammatically shows one example of noise reduction in a step of the method in FIG. 2;

FIG. 4 diagrammatically shows a flow chart of a lattice reduction-aided linear detection and successive noise reduction method according to a second embodiment of the invention;

FIG. 5 shows the throughput of the MIMO system as a function of the signal-to-noise ratio for a detection method according to the second embodiment of the invention and for a detection method according to the prior art.

DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS

A MIMO system will be considered in the paragraphs below as described with reference to FIG. 1. The information symbols transmitted by the N_(T) transmit antennas belong to QAM constellations. Without loss of generality, it is assumed that the modulation alphabet (or constellation) used for the different transmit antennas is identical, in other words a block of transmitted symbols belongs to a product constellation A^(N) ^(T) . It is also assumed that the transmit power of each antenna is normalised to 1. In the absence of noise, the received signal can be represented by a point of the lattice Λ_(H) produced by the column vectors of H in the space

^(n) ^(T) where n_(T)=2N_(T). In the presence of noise, the received signal can be considered to be a point of

^(n) ^(T) obtained by means of a translation by a noise vector of a point of the lattice Λ_(H).

It is furthermore assumed, as stated hereinabove, that the elements of the matrix H are known by the receiver, for example by means of a channel estimation carried out from pilot symbols.

The idea on which the invention is founded is to carry out noise cancellation by iterative reduction of the noise on the different components of the equalised signal, in the reduced basis of the lattice.

FIG. 2 diagrammatically shows a flow chart of a lattice reduction-aided linear detection and successive noise reduction method according to a first embodiment of the invention.

In step 210, a LLL reduction of the lattice Λ_(H) produced by the column vectors of the channel matrix is carried out, expressed in real form, i.e. of size n_(R)×n_(T). This LLL reduction is known per se, it uses a QR decomposition of the channel matrix (H=QR where Q is an orthogonal matrix and R is an upper triangular matrix) and provides in return matrices {tilde over (Q)}, {tilde over (R)} and T with {tilde over (H)}={tilde over (Q)}{tilde over (R)} where {tilde over (H)} is the LLL basis (δ−) reduced by Λ_(H) (or channel matrix in the reduced basis), {tilde over (Q)} is an orthogonal matrix and {tilde over (R)} is an upper triangular matrix and T is a unimodular transformation matrix of size n_(T)×n_(T) such that {tilde over (H)}=HT, the column vectors of T forming the reduced basis.

In step 220, linear detection of the received signal is carried out by means of an equalisation matrix {tilde over (W)}.

This linear detection can, for example, be a detection of the ZF type ({tilde over (W)}={tilde over (W)}_(ZF)), of the MMSE type ({tilde over (W)}={tilde over (W)}_(MMSE)) or of the MF type ({tilde over (W)}={tilde over (W)}_(MF)), in a manner known per se. The vector received by the receive antennas is denoted as y and the equalised vector is denoted as r={tilde over (W)}y. The latter can be considered to be a real vector with n_(T)=2N_(T) elements.

In step 230, a representation of the equalised signal in the reduced basis is obtained by computing the vector c=Tr of size n_(T).

In step 240, the Gram matrix A=TT^(T) of the reduced basis is computed and if the Gram matrix is non-diagonal, the method skips to step 250. The Gram matrix gives the scalar products of the column vectors of T.

It should be noted that if the matrix A is diagonal, the column vectors of T are orthogonal to one another. In such a case, the detection is completed in step 290.

In step 250, for each vector of the reduced basis, i.e. each column vector t_(i) i=1, . . . ,n_(T), of the matrix T, the column vector t_(k) is determined such that:

$\begin{matrix} {k = {\underset{j \neq i}{argmax}\left( {{\langle\left. t_{i} \middle| t_{j} \right.\rangle}} \right)}} & (17) \end{matrix}$

where

t_(i)|t_(j)

represents the scalar product of the vectors t_(i) and t_(j) of the reduced basis. In other words, for each vector of the reduced basis, the column vector that least satisfies the orthogonality condition is determined. A vector v of size n_(T) is thus constructed, the elements whereof are

$v_{i} = {\max\limits_{j \neq i}{\left( {{\langle\left. t_{i} \middle| t_{j} \right.\rangle}} \right).}}$

A simple way of constructing this vector is to search each row of A for the non-diagonal element having the highest absolute value.

An iterative noise-reduction loop is then begun in step 260.

In step 260, it is determined whether the following condition is satisfied:

∃i∈{1, . . . ,n _(T)} such that c _(i) >s _(max) +ε/v _(i)  (18)

where s_(max) is the maximum amplitude of a point of the constellation and ε is a positive value representative of a predetermined error margin. The choice of the value of the error margin is the result of a compromise between the convergence speed and the error tolerance on the result of the detection; the lower this margin, the slower the convergence and the less erroneous the result.

If the condition (18) is not satisfied, in other words if all of the components of the equalised vector satisfy c_(i)≤s_(max)+ε/v_(i), the detection ends in step 290.

Failing this, in step 270 the component of the equalised vector that deviates the furthest from the product constellation is determined, more specifically that which deviates the furthest from a secure area (also referred to as a receive area unperturbed by noise) Z_(ε) in the space

^(n) ^(T) surrounding the product constellation with a noise margin of width ε:

$\begin{matrix} { = {\underset{i}{argmax}\left( {c_{i} - s_{\max} - {ɛ/v_{i}}} \right)}} & (19) \end{matrix}$

In other words, the maximum error direction is sought relative to the product constellation. It must be noted that this search is carried out in the reduced basis, in other words in a non-orthogonal basis.

Noise reduction is then carried out in step 280 by subtracting a fraction μ of the error margin in the direction of the component determined in the previous step from the equalised vector:

$\begin{matrix} {c = {c - {a_{}{{{sgn}\left( c_{} \right)} \cdot {\mu \left( \frac{ɛ}{v_{}} \right)}}}}} & (20) \end{matrix}$

where

is the column vector of index

of the Gram matrix A. μ=1/2 is chosen for example.

In other words, the equalised vector is brought closer to the area unperturbed by noise Z_(ε) by reducing the distance to this area in the maximum error direction. A fraction of ½ is preferably used, however it is evident that other fractions can be used.

It should be noted that not only the component

of the equalised vector updated by means of the relation (20), is modified since A is not a diagonal matrix.

Thus, the detection algorithm can pass several times in the same direction, by correcting an error introduced in another direction.

The algorithm continues by returning to the test step 260.

The iterations end when the equalised vector is located in the receive area unperturbed by noise Z_(ε) (in which case the noise will have been cancelled) or, failing this, when a maximum number of iterations is reached (without convergence). In the case of convergence, the equalised vector is, at worst, located at a distance (1−μ)ε from the constellation and in the case where μ=1/2, in the middle of the error margin.

In step 290, quantisation of the equalised vector having undergone iterative noise reduction is carried out. This quantisation is carried out in the same manner as in the prior art, by searching for the point of the constellation located the closest to the point representing the equalised vector.

FIG. 3 shows on example of the noise-reduction step 280. In this example, it is assumed that only one transmit antenna (n_(T)=2) is used and that the modulation constellation used was a 4-QAM constellation. The product constellation is thus reduced to this 4-QAM constellation.

The product constellation has been shown in the reduced basis, in other words the figure shows the image of the modulation alphabet A by the transformation T⁺¹.

The reduced basis is formed by vectors

$t_{1} = {{\begin{pmatrix} 0 \\ 1 \end{pmatrix}\mspace{14mu} {and}\mspace{14mu} t_{2}} = \begin{pmatrix} 1 \\ 1 \end{pmatrix}}$

and thus the transformation matrix is

$T = {\begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix}.}$

The Gram matrix is thus

$A = {\begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}.}$

The modulation symbols unperturbed by noise, i.e. the points of the modulation constellation are shown in A, B, C and D. The received signal, after equalisation, i.e. the vector r, is shown by the point M. The vector c is assumed in this case to be

$\begin{pmatrix} {- 2} \\ {- 1} \end{pmatrix}.$

The receive area unperturbed by noise, in other words the area Z_(ε) surrounds the modulation constellation with an error margin ε.

Depending on the direction of the vector t₂, the point M belongs to the area Z_(ε) and thus noise is not reduced in this direction.

However, depending on the direction of the vector t₁, the point M does not belong to the area Z_(ε) and thus is brought towards this area in this direction by means of the expression (16), where μ=1/2.

$\begin{matrix} {c = {{c - {{{a_{1}\left( {- 1} \right)} \cdot \frac{1}{2}}\left( \frac{ɛ}{1} \right)}} = {{c + {\frac{ɛ}{2}a_{1}}} = \begin{pmatrix} {{- 2} + \frac{ɛ}{2}} \\ {{- 1} + \frac{ɛ}{2}} \end{pmatrix}}}} & (21) \end{matrix}$

The new equalised vector can thus be seen to be closer to the area Z_(ε) by

$\frac{ɛ}{2}$

in the direction t₁, however that the component thereof in the direction t₂ has been modified. This explains that, in some cases, the area Z_(ε) can be left in the direction t₂ and that an iteration in the direction t₂ must be repeated.

In a second embodiment of the invention, a soft detection of the transmitted symbols is carried out. This will be, for example, the case when the successive transmitted symbols are the result of a coding of a bit sequence, for example turbo coding of a bit packet. In such a case, the convolutional decoder (for example using a SOVA algorithm or a conventional Viterbi algorithm) requires the receipt, on the input side, of the soft values of the bits of the sequence taking into account the received symbols.

The case of a SISO system is firstly described, i.e. that of a single transmit antenna and of a single receive antenna.

If b_(m,q) is denoted as the q^(th) bit of the word used to generate the transmitted symbol s_(m) belonging to the modulation alphabet A, the receiver must assess the soft value or LLR (Log Likelihood Ratio), L(b_(m,q)) defined by:

$\begin{matrix} {{L\left( b_{m,q} \right)} = {{\ln \mspace{14mu} \frac{P\left( {b_{m,q} = \left. 1 \middle| y \right.} \right)}{P\left( {b_{m,q} = \left. 0 \middle| y \right.} \right)}} = {\ln \mspace{14mu} \frac{P\left( {\left. y \middle| b_{m,q} \right. = 1} \right)}{P\left( {\left. y \middle| b_{m,q} \right. = 0} \right)}}}} & (22) \end{matrix}$

where it is reminded that the vector y represents the received signal (and where it is assumed that the prior probabilities of the two binary values were identical).

The conditional probabilities P(y|b_(m,q)=X) (where X=0 or 1) are determined from:

$\begin{matrix} {{P\left( {\left. y \middle| b_{m,q} \right. = X} \right)} = {\sum\limits_{u \in S_{m,q}^{X}}{P\left( {\left. y \middle| s \right. = u} \right)}}} & (23) \end{matrix}$

where P(y|s=u) is the conditional probability of receiving the vector y given that the transmitted symbol is u∈S_(m,q) ^(X), S_(m,q) ^(X) representing the set of symbols of the alphabet A assuming b_(m,q)=X.

In a conventional manner, the sum of the terms appearing on the right of the relation (23) can be approximated by the determinant term (referred to as the Max-Log approximation):

$\begin{matrix} {{P\left( {\left. y \middle| b_{m,q} \right. = X} \right)} \approx {\max\limits_{u \in S_{m,q}^{X}}\left( {P\left( {\left. y \middle| s \right. = u} \right)} \right)}} & (24) \end{matrix}$

Given the Gaussian density of the conditional probability, the soft value of the bit b_(m,q) is expressed in the following form:

$\begin{matrix} {{L\left( b_{m,q} \right)} = {\frac{1}{2\sigma_{n}^{2}}\left( {\min\limits_{u \in S_{m,q}^{1}}\left( {{{y - {Hu}}}^{2} - {\min\limits_{u \in S_{m,q}^{0}}\left( {{y - {Hu}}}^{2} \right)}} \right)} \right)}} & (25) \end{matrix}$

where H is the matrix of the channel (in this case reduced to a single element since the system is SISO).

The relation (25) easily extends to a MIMO system using a linear detection:

$\begin{matrix} {{L\left( b_{m,q} \right)} = {\frac{1}{2\sigma_{n,m}^{2}}\left( {\min\limits_{u \in S_{m,q}^{1}}\left( {{{r - u}}^{2} - {\min\limits_{u \in s_{m,q}^{0}}\left( {{r - u}}^{2} \right)}} \right)} \right)}} & (26) \end{matrix}$

the vector u thus representing the vector of the transmitted symbols (and thus an element of the product constellation), H being the complex matrix of the channel of size N_(T)×N_(T), r=Wy being the equalised vector where y represents the vector of size N_(R) of the signals received by the different receive antennas, and where σ_(n,m) ², represents the noise variance affecting the component r_(m) of the equalised vector. As a result of this equalisation, the noise variance is not identical for the different components:

$\begin{matrix} {\sigma_{n,m}^{2} = \left. {\left( \left. {\sigma_{n}^{2}\sum\limits_{i = 1}^{N_{T}}} \middle| {\overset{\sim}{W}}_{m,i}^{-} \middle| {}_{2}{{+ \sigma_{a}^{2}}\sum\limits_{{j = {{1j} \neq m}}\;}^{N_{T}}} \middle| {\overset{\sim}{\beta}}_{m,j} \right|^{2} \right)\text{/}} \middle| {\overset{\sim}{\beta}}_{m,m} \right|^{2}} & (27) \end{matrix}$

where {tilde over (W)}_(m,i) is the element of the matrix W in the row m and in the column i, in other words corresponding to the receive antenna m and to the transmit antenna i, {tilde over (β)}_(m,j) is the element of the matrix β={tilde over (W)}H in the row in and in the column j, σ_(a) ² is the average power of the modulation constellation (assumed to be identical for all transmit antennas) and σ_(n) ² is the noise variance affecting the signal received by a receive antenna (the variance is assumed to be identical for all receive antennas).

The computation of the soft values according to (26) and (27) must be adapted to the case whereby an iterative noise reduction is carried out in addition to equalisation, as shown with reference to FIG. 4.

FIG. 4 diagrammatically shows a flow chart of a lattice reduction-aided linear detection and successive noise reduction method according to a second embodiment of the invention.

Steps 410 to 480 are identical to steps 210 to 280 described hereinabove with reference to FIG. 2 and the description thereof will not be repeated here.

However, an initialisation step has been added in step 455, in addition to a step of updating the noise power in step 475.

More specifically, step 455 comprises the initialisation of the noise variances (or noise powers) affecting the different components of the equalised vector by the relation (27).

Then, upon each iteration, the noise variances σ_(n,m) ², are updated in step 475 by:

$\begin{matrix} {\sigma_{n,m}^{2} = \left. {\sigma_{n,m}^{2} + {\mu^{2}\left( \frac{ɛ}{v_{}} \right)}^{2}} \middle| A_{m,} \right|^{2}} & (28) \end{matrix}$

where

is the element in the row m and in the column

of the Gram matrix A. It is understood from the expression (28) that only the variances relative to the components affected by the noise reduction are updated.

Finally, in step 490, instead of making a hard decision such as that in step 290, the distances of the equalised vector c to the different points of the product constellation are computed, then the soft values of the different bits are computed by:

$\begin{matrix} {{L\left( b_{m,q} \right)} = {\frac{1}{2\sigma_{n,m}^{2}}\left( {\min\limits_{u \in S_{m,q}^{1}}\left( {{{c - u}}^{2} - {\min\limits_{u \in S_{m,q}^{0}}\left( {{c - u}}^{2} \right)}} \right)} \right)}} & (29) \end{matrix}$

the noise variances σ_(n,m) ², affecting the different components of the equalised vector having been updated during successive iterations according to (28).

If a turbo coding was carried out upon transmission in order to generate symbols on each of the antennas, decoding of the BCJR type can be carried out using, as an input, the soft values provided by step 490.

FIG. 5 shows the throughput of the MI MO system as a function of the signal-to-noise ratio for a detection method according to the second embodiment of the invention and for a detection method according to the prior art.

The MIMO system used was a 2×2 system with 16-QAM modulation. Turbo coding of rate R=1/2 for 6144-bit packets was carried out upon transmission before 16-QAM modulation for each antenna.

The throughput of the system is given by ρ(1−η)^(Q) where ρ is the transmission speed in bit/s, Q is the size of the packet and η is the bit error rate.

The curve 510 represents the throughput of the system when, upon receipt, a linear detection of the ZF type and a computation of soft values according to (22) and (23), i.e. without the Max-Log approximation, are carried out before carrying out BCJR decoding.

The curve 520 represents the throughput of the system when, upon receipt, a linear detection of the ZF type, iterative noise cancellation according to the second embodiment of the invention, and computation of the soft values according to (22) and (23) are carried out before carrying out BCJR decoding.

The curve 530 represents the throughput of the system under the same conditions as 510, however using the Max-Log approximation, in other words using the soft value expressions according to (26) and (27).

The curve 540 represents the throughput of the system according to the second embodiment of the invention, however using the Max-Log approximation, in other words using the soft value expressions according to (26) and (27) and the iterative updating of the variances according to (28), before carrying out channel decoding.

A significant improvement to the throughput is noted in the case wherein the second embodiment of the invention is used, see curves (520) and (540), instead of a detection method of the prior art, see curves (510) and (530). 

1. A detection method for a MIMO system receiver with N_(T) transmit antennas and N_(R) receive antennas, wherein a channel matrix H, each transmit antenna transmitting a symbol belonging to a modulation constellation, the vector of the transmitted symbols belonging to a product constellation in the space

^(2N) ^(T) , the channel matrix H undergoing a LLL reduction in order to provide a reduced channel matrix {tilde over (H)}, such that {tilde over (H)}=HT where T is a unimodular matrix, the vector of the signals received by the receive antennas being equalised by means of a linear detection matrix {tilde over (W)}, obtained from the reduced channel matrix {tilde over (H)}, in order to provide an equalised vector r, in a reduced basis formed by the column vectors of the matrix T, the equalised vector being represented by c=Tr in a reduced basis formed by the column vectors of the matrix T, wherein a receive area unperturbed by noise Z_(ε) is defined, in the representation according to the reduced basis, which area surrounds the product constellation with a predetermined tolerance margin ε, the equalised vector then undergoing an iterative noise cancellation process wherein, upon each iteration, a search is carried out for the component (

) of the equalised vector in the reduced basis, that is located the furthest from the receive area unperturbed by noise, and a noise vector is subtracted from the equalised vector c, the module of which noise vector is a fraction of the tolerance margin and the direction is that of the component thus determined, the process being iterated until the point representative of the equalised vector is located within said receive area unperturbed by noise or until a predetermined number of iterations is reached, the result of the detection being obtained by making a hard or soft decision on the equalised vector at the end of the iterative process.
 2. The detection method according to claim 1, wherein the linear detection matrix is selected from the ZF, MMSE or MF detection matrices respectively defined by: {tilde over (W)} _(ZF) ={tilde over (H)} ^(†)=({tilde over (H)} ^(H) {tilde over (H)})⁻¹ {tilde over (H)} ^(H) {tilde over (W)} _(MMSE)=({tilde over (H)} ^(H) {tilde over (H)}+σ _(n) ² I _(N) _(R) )⁻¹ {tilde over (H)} ^(H) {tilde over (W)} _(MF) ={tilde over (H)} ^(H) where σ_(n) ² is the variance of the noise affecting the signal received by a receive antenna and I_(N) _(R) is the identity matrix of size N_(R).
 3. The detection method according to claim 1, wherein the modulation constellations relative to the different transmit antennas are QAM constellations.
 4. The detection method according to claim 3, wherein the modulation constellations relative to the different antennas are identical.
 5. The detection method according to claim 4, wherein in order to determine the component of the equalised vector in the reduced basis, that is located the furthest from the area unperturbed by noise, the index

is sought such that $ = {\underset{i}{{\arg \mspace{11mu} \max}\mspace{11mu}}\left( {c_{i} - s_{\max} - {ɛ\text{/}v_{i}}} \right)}$ where c_(i) is the i^(th) component of the equalised vector c, s_(max) is the maximum amplitude of the QAM constellation, and $v_{i} = {\max\limits_{j \neq i}\left( \left| {\langle\left. t_{i} \middle| t_{j} \right.\rangle} \right| \right)}$ where t_(i) is the i^(th) column vector of T.
 6. The detection method according to claim 5, wherein the noise vector subtracted from the equalised vector c is determined by $a_{}\mspace{14mu} {sgn}\mspace{11mu} {\left( c_{} \right).\mu.\left( \frac{ɛ}{v_{}} \right)}$ where a

is the

-th column of the matrix A, where A is the Gram matrix of the reduced basis A=TT^(T), sgn(

) is the sign of the

-th component of the equalised vector c and μ is the value of said fraction.
 7. The detection method according to claim 6, wherein μ=1/2.
 8. The detection method according to claim 1, wherein a hard decision is made on the equalised vector at the end of the iterative process, by searching for the point of the product constellation that is located the closest to this vector.
 9. The detection method according to claim 6, wherein prior to the iterative process, the variances σ_(n,m) ², of the noise affecting each of the components of the equalised vector c are initialised by $\sigma_{n,m}^{2} = {\left( {{\sigma_{n}^{2}{\sum\limits_{i = 1}^{N_{T}}{{\overset{\sim}{W}}_{m,i}}^{2}}} + {\sigma_{a}^{2}{\sum\limits_{j = {{1\mspace{11mu} j} \neq m}}^{N_{T}}{{\overset{\sim}{\beta}}_{m,j}}^{2}}}} \right)\text{/}{{\overset{\sim}{\beta}}_{m,m}}^{2}}$ where σ_(n) ² is the variance of the noise affecting the signal received by a receive antenna, σ_(a) ² is the average power of the modulation constellation, {tilde over (W)}_(m,i) is the element of the matrix {tilde over (W)} in the row m and in the column i, {tilde over (β)}_(m,j) is the element of the matrix β={tilde over (W)}H in the row m and in the column j and that at each iteration, these variances are then updated by $\sigma_{n,m}^{2} = \left. {\sigma_{n,m}^{2} + {\mu^{2}\left( \frac{ɛ}{v_{}} \right)}^{2}} \middle| A_{m,} \right|^{2}$ where

is the element in the row m and in the column

of the Gram matrix A.
 10. The detection method according to claim 9, wherein for each symbol transmitted by a transmit antenna m, the soft values of the different bits b_(m,q) are computed, where b_(m,q) is the q^(th) bit of the word having been used to generate the transmitted symbol s_(m), the soft values being given by ${L\left( b_{m,q} \right)} = {\frac{1}{2\sigma_{n,m}^{2}}\left( {\min\limits_{u \in S_{m,q}^{1}}\left( {{{c - u}}^{2} - {\min\limits_{u \in S_{m,q}^{0}}\left( {{c - u}}^{2} \right)}} \right)} \right)}$ where σ_(n,m) ² is the value of the variance affecting the m-th component of the equalised vector c at the end of the iterative process, S_(m,q) ⁰ is the set of points of the product constellation, assuming b_(m,q)=0 and S_(m,q) ¹ is the set of points of the product constellation, assuming b_(m,q)=1. 